Import des librairies, dataframes

Mission 3

Définition des fonctions utiles

Question 1 à 6

Question 6

Question 7

Question 8

Question 9

Insertion du revenu moyen par pays

mean_income = WID[["country", "income_mean"]].drop_duplicates().reset_index() mean_income.rename(columns={'income_mean': 'm_j'}, inplace=True) mean_income = mean_income[["country", "m_j"]] mean_income.head()

Mission 4

Anova

La pvalue du F test (test de Fisher) étant proche de 0, on peut au niveau de test de 5% rejeter H0 et admettre H1: ainsi on peut conclure que le pays d'origine influe bien sur les revenus. </br> Par ailleurs, d'après ce modèle, le pays d'origine explique 50% de la variance du revenu.

Tests

Test 1 : Distribution des résidus </br> On vérifie l'adéquation de la distribution des résidus de l'ANOVA à une loi normale. l'hypothèse nulle H0 étant que les résidus suivent une loi normale, on procède à un test de Kolmogorov-Smirnov sur les résidus.

HO : les données suivent une loi normale </br> H1 : les données ne suivent pas une loi normale </br> pvalue < 0,05 : on rejette H0, les données ne suivent pas une loi normale

Le KS test affichant une pvalue nulle, les données ne suivent pas une loi normale. </br> On observe la distribution des résidus sur une droite de Henry.

On a graphiquement une part élevée de résidus s'éloignant de la droite théorique, donc on peut dire que les résidus ne suivent vraisemblablement pas une loi normale.

Test 2 : Homoscédasticité </br> On observe la variance des résidus. HO l'hypothèse nulle d'hétéroscédasticité des résidus, on réalise un test de Breusch-Pagan sur les résidus.

H0 : homoscédasticité H1 : hétéroscédasticité

Avec une p value proche de 0 (seconde valeur), on admet l'hétéroscédasticité. </br> On peut observer les variances des résidus sur le nuage de variance résiduelle

On peut confirmer la non linéarité avec un test de Rainbow, qui vérifie H0 : la représentation statistique est bien linéaire. </br> La p-value renvoyée par ce test devrait donc être supérieure à 0,05 pour qu'on considère que le modèle de régression peut être conservé. </br> Ici, la p value étant inférieure au seuil, on rejette H0.

En conclusion, si ce modèle explique bien 50% de la variance du revenu des individus avec le pays d'origine, il ne semble pas être robuste aux tests usuels et ne peut donc être utilisé pour une prédiction pertinente.

Régression linéaire avec le revenu moyen et l'indice de gini

Modèle 1 : revenu & gini

Selon ce modèle, le pays de naissance (ie. le revenu moyen et l’indice de Gini) explique donc 50% de la variance totale, tandis que les autres facteurs non considérés dans le modèle (efforts, chance, etc.) représentent l'autre moitié. Par ailleurs, l'indice de Gini n'est pas statistiquement significatif au seuil de 0,05.

Modèle 2 : revenus en log & indice de gini

Selon ce modèle, le pays de naissance (ie. le revenu moyen et l’indice de Gini) explique donc 73% de la variance totale, tandis que les autres facteurs non considérés dans le modèle (efforts, chance, etc.) représentent les 27% restant. Le passage en log des variables de revenus améliore le pouvoir explicatif du modèle, et l'indice de Gini devient significatif. Cependant, l'interprétation est rendue plus compliquée du fait des logs (pas de "lecture naturelle" posible).

Régression linéaire avec le revenu moyen, l'indice de gini et la classe de revenu des parents

Modèle 3 : revenu, gini & classe de revenus

Selon ce modèle, le pays de naissance (ie. le revenu moyen, la classe de revenus des aprents, et l’indice de Gini) explique donc 65% de la variance totale, tandis que les autres facteurs non considérés dans le modèle (efforts, chance, etc.) représentent les 35% restant. </br> Cependant, et comme pour le premier modèle, l'indice de gini n'est pas statistiquement significatif au seuil de 0,05.

Modèle 4 : revenus en log, gini & classes de revenus

Le modèle le plus performant est celui expliquant le revenu des enfants en log par le revenu du pays en log, l'indice de gini et la classe de revenus des parents, avec un $R^2 = 0,96$.
On risque cependant de faire face à un problème de sur-ajustement du modèle, et une complication de l'interprétation du fait de l'utilisation des log.

Tests

On va conserver le modèle 2_2, utilisant à la fois les revenus, l'indice de Gini et la classe de revenu des parents, avec des variables non log, qui permettent une interprétation facilitée. On pourra également aborder le modèle.

Calcul des leviers

On a donc 9 pays présentant des observations au dessus du seuil

Résidus studentisés : outliers

Le seuil pour les résidus studentisés est une loi de Student à n-p-1 degrés de liberté

Distance de cook

Valeurs influentes

from statsmodels.graphics.regressionplots import * influence_plot(reg_v2_2) # myreg doit être un model de statsmodels

plt.xlim(0,0.002) # paramétrage manuel

plt.show()

Colinéarité des variables

Homoscédasticité des résidus

Normalité des résidus

Prédiction

FIN ICI